package com.xdcplus.web.service;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.entity.CraftCheckOrderItems;
import com.xdcplus.web.common.pojo.dto.CraftCheckOrderItemsDTO;
import com.xdcplus.web.common.pojo.dto.CraftCheckOrderItemsFilterDTO;
import com.xdcplus.web.common.pojo.vo.CraftCheckOrderItemsVO;

import java.util.List;


/**
 * 点检工单点检项明细表(CraftCheckOrderItems)表服务接口层
 *
 * @author Man.Chen
 * @since 2024-12-03 17:56:21
 */
public interface CraftCheckOrderItemsService extends BaseService<CraftCheckOrderItems, CraftCheckOrderItems, CraftCheckOrderItemsVO> {

    /**
     * 添加点检工单点检项明细表(CraftCheckOrderItems)
     *
     * @param craftCheckOrderItemsDTO 点检工单点检项明细表(CraftCheckOrderItemsDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveCraftCheckOrderItems(CraftCheckOrderItemsDTO craftCheckOrderItemsDTO);

    /**
     * 修改点检工单点检项明细表(CraftCheckOrderItems)
     *
     * @param craftCheckOrderItemsDTO 点检工单点检项明细表(CraftCheckOrderItemsDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean updateCraftCheckOrderItems(CraftCheckOrderItemsDTO craftCheckOrderItemsDTO);

    /**
     * 批量保存或更新点检工单点检项明细表(CraftCheckOrderItems)
     *
     * @param craftCheckOrderItemsList 点检工单点检项明细表(CraftCheckOrderItemsList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<CraftCheckOrderItems> craftCheckOrderItemsList);

    /**
     * 批量保存或更新点检工单点检项明细表(CraftCheckOrderItemsDTOList)
     *
     * @param craftCheckOrderItemsDTOList 点检工单点检项明细表(CraftCheckOrderItemsDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<CraftCheckOrderItemsDTO> craftCheckOrderItemsDTOList);

    /**
     * 删除点检工单点检项明细表(CraftCheckOrderItems)
     *
     * @param id 点检工单点检项明细表(CraftCheckOrderItems)主键
     * @return {@link Boolean} 是否成功
     */
    Boolean deleteCraftCheckOrderItemsLogical(Long id);
    
    Boolean deleteCraftCheckOrderItemsByIds(String ids);

    /**
     * 查询点检工单点检项明细表(CraftCheckOrderItems)
     *
     * @param craftCheckOrderItemsFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<CraftCheckOrderItemsVO>} 状态信息
     */
    List<CraftCheckOrderItemsVO> queryCraftCheckOrderItemsVOList(CraftCheckOrderItemsFilterDTO craftCheckOrderItemsFilterDTO);

    /**
     * 查询点检工单点检项明细表(CraftCheckOrderItems)
     *
     * @param craftCheckOrderItemsFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<CraftCheckOrderItemsVO>} 状态信息
     */
    PageVO<CraftCheckOrderItemsVO> queryCraftCheckOrderItems(CraftCheckOrderItemsFilterDTO craftCheckOrderItemsFilterDTO);

    /**
     * 查询一个
     *
     * @param id 点检工单点检项明细表(CraftCheckOrderItems)主键
     * @return {@link CraftCheckOrderItemsVO} 点检工单点检项明细表(CraftCheckOrderItems)信息
     */
    CraftCheckOrderItemsVO queryCraftCheckOrderItemsById(Long id);
}
